// 专门封装一个axios的请求，进行统一的管理
import store from "@/store";
import axios from "axios"
// const request = axios.create({
//     // 服务器地址
//     baseURL: '/api',
//     // 超时配置
//     timeout: 2000,
// });
// export default request;

// instance.interceptors.request.use(config => {
//     console.log("每一次发起请求前，都会先执行这里的代码");
//     console.log(config); //config本次请求的配置信息
//     return config;
// }, err => {
//     return Promise.reject(err)
// })

// instance.interceptors.response.use(res => {
//     console.log("每一次接收到响应，都会先执行这里的代码，再去执行成功的那个回调函数then");
//     return res.data;
// }, err => {
//     return Promise.reject(err)
// })

// export default {
//     request
// };
// import { config } from "vue/types/umd";
// 封装一个axios的请求，进行统一的管理
const unify = ["/sendSMS", "/phoneRegin", "/wechatUsers/binding", "/shop/carts/add", ]

const request = axios.create({
    // 服务器地址
    baseURL: "/api",
    // 超时配置
    timeout: 5000,
});
request.interceptors.request.use(
    (config) => {
        if (unify.includes(config.url)) {
            config.headers["Content-Type"] = "application/x-www-form-urlencoded";
        }

        let token = localStorage.getItem("token");
        if (token) {
            // token
            config.headers["x-auth-token"] = token;
        }
        return config;
    },
    (err) => {
        return Promise.reject(err);
    }
);
request.interceptors.response.use(
    (res) => {
        if (res.data.code !== 0) {
            store.dispatch('asynctoasts', {
                toastmsg: res.data.message,
                toastIcon: "warning",
            })
        }
        return res.data;
    },
    (err) => Promise.reject(err)
);


export default request;